Suggesting media content based on an image capture

ABSTRACT

A method and/or system for suggesting media content based on an image capture may include receiving, from an electronic device, a request for recommendations based on an image capture, wherein the request comprises data associated with the image capture. One or more search objects may be determined based on an analysis of the request. A particular user associated with the electronic device and one or more search interest associated with the particular user may be determined. One or more custom recommendations for the particular user may be determined based on the one or more search objects and/or based on the one or more search interests. Recommendation data comprising the one or more custom recommendations may be sent to the electronic device.

TECHNICAL FIELD

Aspects of the present application relate to processing digital dataand/or media content. More specifically, certain implementations of thepresent disclosure relate to a method and/or system for suggesting mediacontent based on an image capture.

BACKGROUND

Various types of electronic devices are now commonly utilized. In thisregard, electronic devices may include, for example, personal andnon-personal devices, mobile and non-mobile devices, communication(wired and/or wireless) devices, general and special purpose devices.Examples of electronic devices may comprise cellular phones,smartphones, tablets, personal computers, laptops and the like.Determining interests of and recommendations for users of suchelectronic devices is complex and frequently results in recommendationsthat diverge from the actual interests of the users.

Further limitations and disadvantages of conventional and traditionalapproaches will become apparent to one of skill in the art, throughcomparison of such approaches with some aspects of the present methodand/or system set forth in the remainder of this disclosure withreference to the drawings.

BRIEF SUMMARY

Method and/or system for suggesting media content based on an imagecapture, substantially as shown in and/or described in connection withat least one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the presentdisclosure, as well as details of an illustrated embodiment thereof,will be more fully understood from the following description anddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example system for suggesting mediacontent based on an image capture, in accordance with an exampleembodiment of the disclosure.

FIG. 2 is a block diagram of example electronic device that supportssuggesting media content based on an image capture, in accordance withan example embodiment of the disclosure.

FIG. 3 is a block diagram of example media server that supportssuggesting media content based on an image capture, in accordance withan example embodiment of the disclosure.

FIG. 4 is a block diagram of example process of suggesting media contentbased on an image capture by a media server, in accordance with anexample embodiment of the disclosure.

FIG. 5 is a flow diagram of example steps of a method for suggestingmedia content based on an image capture, in accordance with an exampleembodiment of the disclosure.

DETAILED DESCRIPTION

Certain embodiments of the disclosure may be found in a method and/orsystem for suggesting media content based on an image capture. Invarious embodiments of the disclosure, a method and/or system forsuggesting media content based on an image capture may includereceiving, from an electronic device, a request for recommendationsbased on an image capture, wherein the request comprises data associatedwith the image capture. An analysis of the request may be performed. Theanalysis may comprise various image processing techniques (e.g., imagecomposition deviation, optical character recognition (OCR), facialrecognition, visual search, metadata extraction, etc.).

One or more search objects may be determined based on the analysis ofthe request. In an example embodiment of the disclosure, a search objectmay comprise data associated with metadata about the image capture, suchas, for example, data indicative of the date, time and/or a locationassociated with the image capture. In another example embodiment of thedisclosure, a search object may be associated with a product (e.g., adigital media item) and/or a service (e.g., concert ticket sales).

A particular user associated with the electronic device, one or moresearch interests associated with the particular user, and a personalmedia library associated with the particular user may be determined. Oneor more search interests may also be determined based on an analysis ofthe personal digital media library.

In an example embodiment of the disclosure, user data (e.g., demographicdata) may be determined and/or received from the electronic device, andone or more search objects may be determined based on the user data. Oneor more custom recommendations for the particular user may then bedetermined based on the one or more search objects and/or based on theone or more search interests. Recommendation data comprising the one ormore custom recommendations may be sent to the electronic device.

In an example embodiment of the disclosure, a request to open a camerainterface may be received on an electronic device through, for example,a user input to the electronic device. A request to capture an imageutilizing the camera interface may be received. The image may be storedin a memory of, for example, the electronic device. A request may besent to a media server for recommendations. The request may comprisedata associated with the image. Recommendation data may be received, bythe electronic device, from the media server in response to the request.The recommendation data may include custom recommendations, where one ormore of the custom recommendations may be based on data associated withthe image and/or one or more interests associated with the user. Thecustom recommendations may be presented to the user.

As utilized herein the terms “circuits” and “circuitry” refer tophysical electronic components (i.e. hardware) and any software and/orfirmware (“code”) which may configure the hardware, be executed by thehardware, and or otherwise be associated with the hardware. As utilizedherein, “and/or” means any one or more of the items in the list joinedby “and/or”. As an example, “x and/or y” means any element of thethree-element set {(x), (y), (x, y)}. As another example, “x, y, and/orz” means any element of the seven-element set {(x), (y), (z), (x, y),(x, z), (y, z), (x, y, z)}. As utilized herein, the term “block” refersto functions, processes, threads, etc. than can be performed by one ormore circuits. As utilized herein, the term “e.g.,” introduces a list ofone or more non-limiting examples, instances, or illustrations. Asutilized herein, the term “server” may refer to a plurality of machines,at least some of which may be installed in different locations, and eachof which may be utilized to implement distinct and/or redundantfunctions associated with operations attributed to and/or performed bythe server.

As used herein the term “digital media” and/or “digital media item” maycomprise any discrete media object, such as streaming media, audiofiles, video files, books, magazines, articles, games, slide shows,camera captures, and the like. Such “digital media” and/or “digitalmedia item” may be operable to be played back, displayed, and/orotherwise rendered for user consumption. The “digital media” and/or“digital media item” may comprise an audio and/or video content and/orany suitable digital media content (e.g., AAC, AC3, AEH (ArchosReader),AVI, BBeB (SonyMedia), Complied HTML, DV, Eveda, Flash, KF8, LIT, MIDI,MobiPocket, MPEG, MP3, MP4, PalmMedia, RealAudio, RealVideo, Shockwave,WaveForm, QuickTime).

As used herein the term “metadata” may comprise information and/orattributes related to digital media and/or an image capture. “Metadata”may comprise various information related to digital media, for example,a name, artist name, album, album artist, compositor, composer, year,genre, disc number, track number, duration, comments, artwork and/orother suitable information and/or attributes. “Metadata” may alsocomprise various information related to an image capture, for exampledate, time, location and/or duration.

FIG. 1 is a block diagram of an example system for suggesting mediacontent based on an image capture, in accordance with an exampleembodiment of the disclosure. Referring to FIG. 1, there is shown asystem for suggesting media content based on an image capture 100. Thesystem 100 may comprise an electronic device 110, a media server 120, animage capture object 130 and a personal digital media library (PDML)140.

The electronic device 110 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to communicate data and/ormessages via wired and/or wireless connections configured in accordancewith one or more supported wireless and or wired protocols, standardsand/or interfaces (e.g., Ethernet, Bluetooth, WiFi, cellular, WiMAX,WLAN, NFC). The electronic device 110 may be operable to process,generate, present and/or output data and/or messages. The electronicdevice 110 may be enabled to perform, run, and/or execute variousfunctions, operations, applications and/or programs based on, forexample, user instructions and/or interactions, and/or pre-configuredinstructions. In this regard, the electronic device 110 may be operableto communicate, for example, with the media server 120 and/or thepersonal digital media library 140.

The electronic device 110 may be operable to perform functions and/oroperations and/or to run applications and/or programs.

In an example embodiment of the disclosure, the functions, operations,applications and/or programs may incorporate and/or may be operable toaccess a personal digital media library, such, as for example, thepersonal digital media library 140. In this regard the electronic device110 may be operable to provide the user of the electronic device 110with access to the personal digital media library 140. The electronicdevice 110 may be operable to detect user interactions (e.g., playing,purchasing, organizing content) with the PDML 140. In an exampleembodiment of the disclosure, the electronic device 110 may, in responseto, for example, the user interactions with the PDML 140 and/or anotherapplication and/or program on the electronic device 110, be operable torequest, receive and/or process requests, notifications, data and/orinformation relating to managing, processing and/or presentingsuggestion(s) and/or recommendation(s) based on an image capture.

In another example embodiment of the disclosure, the functions,operations, applications and/or programs may incorporate and/or may beoperable to capture, generate and/or process a video and/or a stillimage. In this regard, the electronic device 110 may, for example,comprise one or more camera devices and/or interfaces (e.g., built-inand/or coupled to the electronic device 110), which may be operable tocapture, generate and/or process a video and/or a still image. Thefunctions, operations, applications and/or programs associated with theelectronic device 110 may comprise a camera application, which may allowuse of and/or user interactions with camera(s). In this regard, thecamera application may be implemented as a component (or module) of anoperating system running in the electronic device 110 and/or may beimplemented as an independent software module, which may be installed inthe electronic device 110 (e.g., by a user of the electronic device110). The camera application may be operable to perform various tasks,functions, and/or operations associated with use of camera(s) in theelectronic device 110 (e.g., capturing, generating and/or processingvideos and/or still images).

In an example embodiment of the disclosure, the electronic device 110may be enabled to receive one or more digital media items (DMIs), suchas for example, the one or more personal digital media items (PDMIs)142. The electronic device 110 may be operable to render and/or formatthe PDMIs 142 for consumption by a user of the electronic device 110.For example, the electronic device 110 may receive, process and/orpresent the PDMIs 142 to the user as part of services provided by amedia server, such as, for example, the media server 120. The electronicdevice 110 may be operable to play PDMIs 142 through internal and/orexternal speakers, and/or headsets.

The electronic device 110 may comprise a cellular phone, smartphone,tablet, set-top box, television, laptop computer, desktop and/orpersonal computer, personal media player, other device which maycommunicate, process, generate, present and/or output data and/or otherdevice that supports consumption of digital media. The disclosure,and/or any implementation(s) in accordance therewith, however, are notlimited to any particular type of electronic devices.

The media server 120 may comprise suitable logic, circuitry, interfaces,and/or code that may be operable to provide digital media services toelectronic devices, such as for example, the electronic device 110. Forexample, the media server 120 may be enabled to provide digital mediastorage services, digital media management services, subscriptionservices (e.g., streaming digital media subscription services), digitalmedia provisioning services (e.g., selling, transcoding and/ordownloading digital media) and/or digital media suggestion and/orrecommendation services (e.g., suggesting media content based on animage capture).

The media server 120 may be operable to communicate data and/or messagesvia wired and/or wireless connections configured in accordance with oneor more supported wireless and or wired protocols, standards and/orinterfaces (e.g. Ethernet, Bluetooth, WiFi, cellular, WiMAX, WLAN, NFC)with electronic devices, such as, for example, the electronic device110. The media server 120 may be enabled to process, store, manageand/or communicate data and/or messages relevant to providing digitalmedia services to electronic devices, such as, for example, theelectronic device 110. Furthermore, the media server 120 may be operableto provide communication services to and from the electronic device 110and/or the personal digital media library 140. For example, the mediaserver 120 may include one or more transceivers for providing wiredand/or wireless communication of data to and from the electronic device110 and/or the personal digital media library 140.

In an example embodiment of the disclosure, the media server 120 mayreceive, store, manage and/or process information and/or data relatingto user interactions (e.g., playing, purchasing, marking up or down asto indicate preferences and/or interests) with digital media items.

In an example embodiment of the disclosure, the media server 120 mayprovide and/or manage user registration and/or authentication services.In this regard, a user of an electronic device, such as, for example,the electronic device 110, may register with theregistration/authentication services provided by the media server 120,by for example creating a user account. The user may register one ormore electronic devices under the user account. The media server 120 mayprovide user authentication services. For example, the media server 120may provide a prompt to the user to enter authentication information onthe electronic device 110 through a graphical user interface (GUI). Theelectronic device 110 may send the authentication information to themedia server 120 for authenticating the user.

In an example embodiment of the disclosure, the media server 120 mayautomatically authenticate the user or an electronic device associatedwith the user, such as, for example, the electronic device 110, when theelectronic device 110 itself (e.g., without the user's intervention) orthe user through the electronic device 110 sends a request, to a mediaserver, such as, for example, the media server 120, for suggestionsand/or recommendations based on an image capture for products and/orservices, such as, for example, products and/or services relating todigital media content. In this regard, when the media server 120receives the request, the media server 120 may verify the identity ofthe electronic device 110. The media server 120 may initiate and/orperform a search on a user registration database to determine whetherthe electronic device 110 corresponds to a particular user andauthenticate the particular user based on the correspondence.

The media server 120 may comprise a dedicated system and/or ageneral-purpose system configured to provide digital media services(e.g., suggesting media content based on an image capture) to electronicdevices, such as, for example, the electronic device 110. Thedisclosure, and/or any implementation(s) in accordance therewith,however, are not limited to any particular type of a media server. Themedia server 120 may, for example, comprise the media server 300 asdepicted and/or described with respect to FIG. 3.

The personal digital media library (PDML) 140 may comprise suitablelogic, circuitry, code, and/or interfaces that may be operable to storeand/or manage a plurality of digital media items (PDMIs) 142. In thisregard, the personal digital media library 140 may be operable to storeand/or manage the plurality of PDMIs 142, digital playlists comprisingone or more of the plurality of the PDMIs 142 and/or a play order. ThePDML 140 may store and/or manage play, purchase and/or interactionhistory with the PDMIs 142. Even though the personal digital medialibrary 140 is illustrated as being separate from the electronic device110, the disclosure may not be limited in this regard. Morespecifically, the personal digital media library 140 may be implementedas part of the electronic device 110. Even though the personal digitalmedia library 140 is illustrated as being separate from the media server120, the disclosure may not be limited in this regard. More specificallythe personal digital media library 140 may be, for example, hosted in acloud based storage provided, managed and/or supported by the mediaserver 120 and/or may be accessible to a user associated with thepersonal digital medial library 140 from any electronic device, such as,for example, the electronic device 110.

In operation, an electronic device, such as, for example, the electronicdevice 110, may send a request, to a media server, such as, for example,the media server 120, for suggestion(s) and/or recommendation(s) basedon an image capture. The request may be, for example, sent in responseto user interactions with the electronic device 110 (e.g., accessing aparticular application operable to send and/or initiate sending therequest).

In an example embodiment of the disclosure, a user may be browsing apersonal digital media library, such as, for example, the PDML 140(e.g., through a web-based application, a media player application) andmay request suggestion(s) and/or recommendation(s) based on an imagecapture. The electronic device 110, in response to the request, mayinitiate a camera interface. The user may, through, for example agraphical user interface (GUI), capture an image (e.g., take a stillimage and/or video of a camera capture object, such as, for example, thecamera capture object 130). In an example embodiment of the disclosure,the user may select an image (e.g., an image captured at a differenttime) from, for example, the memory of the electronic device 110 and/orfrom another location outside the electronic device 110 (e.g., cloudstorage, another electronic device).

The electronic device 110 may process the image and/or the image captureand may send to the media server 120 a request for suggestion(s) and/orrecommendation(s) based on the image and/or the image capture. Therequest may include the image, the image capture and/or data associatedwith the image and/or the image capture.

The media server 120 may receive the request for suggestion(s) and/orrecommendation(s) based on the image and/or the image capture. In thisregard, the media server 120 may process the request and/or maydetermine custom suggestion(s) and/or recommendation(s).

In an example embodiment of the disclosure, the media server 120 mayperform a variety of image processing techniques (e.g., imagecomposition deviation, optical character recognition (OCR), facialrecognition, visual search, metadata extraction, etc.) on the imageand/or the image capture to determine one or more search object. Thesearch objects may be related to, for example, products and/or servicesprovided by the media server 120. For example, the search objects maycomprise information and/or data related to an artist, album, digitalmedia item, concerts, concert tickets and/or other products and/orservices related to digital media content.

The media server 120 may determine a personal digital media libraryassociated with a particular user. In this regard, the media server 120may determine a particular user associated with the electronic deviceby, for example, initiating a search in a user registration database.Based on the search, the media server 120 may determine a personaldigital media library associated with the particular user, such as, forexample the PDML 140.

In an example embodiment of the disclosure, the media server 120 mayreceive from the electronic device 110 user data, such as, for exampleuser demographic information (e.g., age, gender) and/or user interest(s)(e.g., related to digital media content and/or otherwise relevant to theproducts and/or services provided by the media server 120). In anotherexample embodiment of the disclosure, the media server 120 may determinethe user demographic information and/or user interest(s) by, forexample, initiating a search on a user registration database.

The media server 120 may determine search interest based on the PDML140, user data and/or user interests. The media server 120 may compareone or more of the search objects with one or more of the searchinterests to determine custom suggestion(s) and/or recommendation(s) forthe particular user.

In an example embodiment of the disclosure, the media server 120 mayprovide the suggestion(s) and/or recommendation(s) for a particular userindependent of a language associated with the particular user. Forexample, the particular user may visit a foreign country and, whilevisiting the foreign country, the particular user may requestsuggestion(s) and/or recommendation(s) based on an image capture thatmay contain foreign characters (e.g., characters/words/sentences in alanguage other than a language native to the particular user).Specifically, the user may submit the request suggestion(s) and/orrecommendation(s) because, for example, the user may have been intriguedby a picture of, for example, an artist and/or album, but the user maynot have been able to read and/or understand the description associatedwith the artist and/or alum (e.g. name). The media server 120 may beoperable to process the image containing the foreign characters (e.g.,as part of the processing of the request) and may be operable to providesuggestion(s) and/or recommendation(s) to the user in user's nativelangue. The suggestions(s) and/or recommendation(s) may, for example,include products and/or services related to the artist and/or album thatmay have been depicted in the image capture (e.g., DMIs by the artistand/or by another artist thematically related (e.g., an artistcategorized in the same and/or similar genre as the artist depicted inthe image capture) to the artist depicted in the image capture, concerttickets to an upcoming concert by the artist and/or by another artistthematically related to the artist, etc.).

Even though the operation of the electronic device 110 and/or the mediaserver 120 is illustrated with respect to suggesting media content basedon an image capture, the disclosure may not be limited in this regard.More specifically, media content may be suggested and/or recommended, byfor example, a media server, such as, for example, the media server 120,based on information other than an image capture received from anelectronic device, such as, the electronic device 110. For example, thesuggestion(s) and/or recommendation(s) may be based on, for example, animage capture, a news article, multimedia content (e.g., music videos,movies movie trailers, etc.), maps and/or other content and/orinteractions. In this regard, the content and or interactions need notbe received from an electronic device.

Even though the operation of the electronic device 110 and/or the mediaserver 120 is illustrated with respect to suggesting media content, thedisclosure may not be limited in this regard. More specifically,suggestion(s) and/or recommendation(s) may relate to content other thanthe media content, such as, for example, images, news articles, news,maps, etc. In this regard, the content and or interactions need not bereceived from an electronic device.

FIG. 2 is a block diagram of example electronic device that supportssuggesting media content based on an image capture, in accordance withan example embodiment of the disclosure. Referring to FIG. 2, there isshown an electronic device 200.

The electronic device 200 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to implement variousaspects of the disclosure. In this regard, the electronic device 200 maycorrespond to the electronic device 110, as depicted in and/or describedwith respect to FIG. 1. The electronic device 200 may comprise, forexample, a main processor 201, a memory 202, a communication subsystem203, a sensory subsystem 204, an input/output (I/O) subsystem 205,and/or a digital media subsystem 206.

The main processor 201 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to process data, and/orcontrol and/or manage operations of the electronic device 200, and/ortasks and/or applications performed therein. In this regard, the mainprocessor 201 may be operable to configure, manage and/or controloperations of various components and/or subsystems of the electronicdevice 200, such as, for example, the memory 202, the communicationsubsystem 203, the sensory subsystem 204, the I/O subsystem 205, and/orthe digital media subsystem 206, by utilizing, for example, one or morecontrol signals. The main processor 201 may enable running and/orexecuting applications, programs and/or code, which may be stored, forexample, in the memory 202. Alternatively, one or more dedicatedapplication processors may be utilized for running and/or executingapplications, programs and/or code in the electronic device 200. In someinstances, the applications running and/or executing on the electronicdevice 200 may comprise a plurality of applications 207, which maysupport suggesting media content based on an image capture.

The memory 202 may comprise suitable logic, circuitry, interfaces,and/or code that that may be operable to enable permanent and/ornon-permanent storage, buffering, and/or fetching of data, code and/orother information, which may be used, consumed, and/or processed by thecomponents of the electronic device 200. In this regard, the memory 202may be enabled to store executable instructions to manage and/orconfigure, for example, the main processor 201, the communicationsubsystem 203, the sensory subsystem 204, the input/output (I/O)subsystem 205, and/or the digital media subsystem 206. The memory 202may store, for example, configuration data, which may compriseparameters and/or code, comprising software and/or firmware. The memory202 may comprise different memory technologies, including, for example,read-only memory (ROM), random access memory (RAM), low latencynonvolatile memory, flash memory, solid-state drive (SSD),field-programmable gate array (FPGA), and/or other suitable electronicdata storage capable of storing data, code and/or other information.

The memory 202 may comprise a personal digital media library (PDML)202(a). The PDML 202(a) may correspond to the PDML 140 as depicted inand/or described with respect to FIG. 1. In this regard, the PDML 202(a)may comprise suitable logic, circuitry, code, and/or interfaces that maybe operable to store and/or manage a plurality of personal digital mediaitems (PDMIs). Even though the PDML 202(a) is illustrated as being apart of the electronic device 200, the disclosure may not be limited inthis regard. More specifically, the PDML 202(a) may be, for example,hosted in a cloud based storage provided, managed and/or supported by amedia server, such as, for example the media server 300 as depicted inand/or described with respect to FIG. 3, and/or may be accessible to auser associated with the PDML 202(a) from any electronic device, suchas, for example, the electronic device 200.

The communication subsystem 203 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to communicate data fromand/or to the electronic device 200, such as via one or more wiredand/or wireless connections. For example, the communication subsystem203 may comprise one or more transceivers for providing wired and/orwireless communication of data. The communication subsystem 203 may beconfigured to support one or more wired and/or wireless protocols,standards and/or interfaces (e.g., Ethernet, Bluetooth, WiFi, satelliteand/or cellular network, WiMAX, WLAN, NFC) facilitating transmissionand/or reception of signals to and/or from the electronic device 200,and/or processing of transmitted or received signals in accordance withapplicable wired or wireless protocols. In this regard,signal-processing operations may comprise filtering, amplification,analog-to-digital conversion and/or digital-to-analog conversion,up-conversion/down-conversion of baseband signals, encoding/decoding,encryption/decryption, and/or modulation/demodulation.

The sensory subsystem 204 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to obtain and/or generatesensory information, which may relate to the electronic device 200, itsuser(s), and/or its environment. For example, the sensory subsystem 204may comprise positional or locational sensors (e.g., GPS, GNSS, WiFi,BT, BTL, BTLE sensors), ambient condition sensors (e.g., temperature,humidity, or light), and/or motion related sensors (e.g., accelerometer,gyroscope, pedometers, and/or altimeters).

The I/O subsystem 205 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to enable user interactionswith the electronic device 200, obtain input from user(s) of theelectronic device 200 and/or provide output to the user(s). The I/Osubsystem 205 may support various types of inputs and/or outputs,including, for example, video, audio, and/or textual. In this regard,dedicated I/O devices and/or components, external to or integratedwithin the electronic device 200, may be utilized for inputting and/oroutputting data during operations of the I/O subsystem 205. Example(external or integrated) I/O devices may comprise displays, mice,keyboards, touchscreens, voice input interfaces, still image and/orvideo capturing devices, such as, for example, the one or more camera(s)205(a) and/or other input/output interfaces and/or devices.

The digital media subsystem 206 may comprise suitable logic, circuitry,interfaces, and/or code that may be operable to initiate, receive,process and/or manage a request for suggestion(s) and/orrecommendation(s) based on an image capture and/or suggestion(s) and/orrecommendation(s) received by the electronic device 200 in response to arequest for such suggestion(s) and/or recommendation(s). In this regard,the digital media subsystem 206 may be operable to monitor userinteractions with the electronic device 200 to determine whether and/orwhen to initiate sending a request to a media server for suggestion(s)and/or recommendation(s) based on an image capture.

In an example embodiment of the disclosure, the digital media subsystem206 may monitor various applications (e.g., Application(s) 207) and/orprocesses running on the electronic device 200 to determine whether, forexample, the user of the electronic device 200 requested suggestion(s)and/or recommendation(s) based on an image capture. More specifically,the digital media subsystem 206 may determine that, for example, theuser accessed a particular application that may be operable to providevarious interactions with digital media content (e.g., a media playerapplication, a personal digital media library, a web browserapplication, etc.). The digital media subsystem 206 may further monitorwhether the user requested suggestion(s) and/or recommendation(s) and/orwhether a suggestion and/or recommendation triggering event hasoccurred. For example, the user, while browsing a personal digital medialibrary, may, through a user interface, request suggestion(s) and/orrecommendation(s) based on an image capture (e.g., the user may selectan option “Search/Recommend Content Based on Camera Images”). Inresponse to the example user interaction, the digital media subsystem206 may, for example, initiate a camera application and/or interfaceand/or request access to the one/or more cameras 205(a).

In an example embodiment of the disclosure, the digital media subsystem206 may monitor the operation of the camera application and/or interfaceand/or the one/or more cameras 205(a) to determine whether and/or when arequest for suggestion(s) and/or recommendation(s) based on an imagecapture may need to be sent to a media server (e.g., when the usercaptured and/or selected an image capture as the basis of the request).The digital media subsystem 206 may initiate sending the request to themedia server. Furthermore, the digital media subsystem 206 may monitorthe operation of a communication subsystem 203 to, for example,determine whether a response (e.g., recommendation data) to a requestfor suggestion(s) and/or recommendation(s) based on an image capture mayhave been received from the media server. The digital media subsystem206 may present and/or cause to be presented to the user therecommendation data (processed or unprocessed) received from the mediaserver. In this regard, the digital media subsystem 206 may determinehow (e.g., through what application) the user submitted the request forsuggestion(s) and/or recommendation(s) in order to present and/or causeto be presented to the user the recommendation data (processed orunprocessed) utilizing a similar method. For example, if the userrequested the suggestion(s) and/or recommendation(s) through a mediaplayer application, the digital media subsystem 206 may present and/orcause to be presented the recommendation data (processed or unprocessed)to the user through the media player application.

In operation, the electronic device 200 may send a request forsuggestion(s) and/or recommendation(s) based on an image capture. Inthis regard, the digital media subsystem 206 may monitor the electronicdevice (and/or its components, applications, processes and/or functions,etc.) to determine whether an event triggering a request forsuggestion(s) and/or recommendation(s) based on an image capture hasoccurred. The digital media subsystem 206 may request from the I/Osubsystem 205 205 and/or from an application (e.g., Application(s) 207)to provide to the digital media subsystem 206 an image capture (and/orinstructions for accessing the image capture) on which the request forsuggestion(s) and/or recommendation(s) is to be based. The I/O subsystem205 may receive and/or process an image capture from the one or morecamera(s) 205(a) and may provide the image capture to the digital mediasubsystem 206.

In an example embodiment of the disclosure, the image capture may beretrieved from memory, such as the memory 202, by the digital mediasubsystem 206, in response to, for example, user selection of an alreadycaptured and/or stored image as the basis for the request forsuggestion(s) and/or recommendation(s).

The digital media subsystem 206 may receive and/or process the imagecapture. The digital media subsystem may prepare a request forsuggestion(s) and/or recommendation(s) based on the image capture. Therequest may comprise image data (e.g., still and/or video image(s)and/or metadata information relating to the still and/or video image(s),such as, for example, date, time, location, duration).

The digital media subsystem 206 may request from the communicationsubsystem 203 for the communication subsystem 203 to send the request toa media server. The communication subsystem 203 may send the request tothe media server.

In an example embodiment of the disclosure, the electronic device 200may receive, from a media server, recommendation data. In this regard,the communication subsystem 203 may receive and/or process therecommendation data and may send the recommendation data (processed orunprocessed) to the digital media subsystem 206. The digital mediasubsystem 206 may determine whether the recommendation data may bepresented to the user of the electronic device 200. The digital mediasubsystem 206 may further determine a method of presenting and/orcausing to be presented the recommendation data (processed orunprocessed) and/or may present and/or cause to be presented therecommendation data to the user of the electronic device 200.

FIG. 3 is a block diagram of example media server that supportssuggesting media content based on an image capture, in accordance withan example embodiment of the disclosure. Referring to FIG. 3, there isshown a media server 300.

The media server 300 may comprise suitable logic, circuitry, code,and/or interfaces that may be operable to implement various aspects ofthe disclosure. In this regard, the media server 300 may correspond tothe media server 120 of FIG. 1. The media server 300 may, for example,comprise a main processor 301, a memory 302, a communication subsystem303, a user registration subsystem 304, and/or a content suggestionmanagement subsystem (CSMS) 305.

The main processor 301 may comprise suitable circuitry, interfaces,logic, and/or code that may be operable to process data, and/or controland/or manage components, operations and/or functions of the mediaserver 300, and/or tasks performed therein. In this regard, the mainprocessor 301 may configure and/or control operations of variouscomponents and/or subsystems of the media server 300, such as, forexample, the memory 302, the communication subsystem 303, the userregistration subsystem 304, and/or the CSMS 305, by utilizing, one ormore control signals.

The memory 302 may be substantially similar to, for example, the memory202 of FIG. 2. In this regard, the memory 302 may comprise suitablelogic, circuitry, interfaces, and/or code that that may be operable toenable permanent and/or non-permanent storage, buffering, and/orfetching of data, code and/or other information, which may be used,consumed, and/or processed by the components of the media server 300. Inthis regard, the memory 302 may be enabled to store executableinstructions to manage and/or configure, for example, the main processor301, the communication subsystem 303, the user registration subsystem304, and/or the CSMS 305.

The memory 302 may comprise one or more databases such, as for example,a user registration database 302(a), search objects database 302(b)and/or a digital media database 302(c).

The user registration database 302(a) may comprise a plurality ofentities each corresponding to a particular user of digital mediaservices, such as, for example the digital media services provided bythe media server 300. In this regard, each entity may compriseinformation and/or data, such as, for example, user name, accountpassword, information and/or data about electronic devices associatedwith the user (e.g., type, brand, model, name, phone number, serialnumber) and/or information and/or data related to a history of userinteractions with product(s) and/or service(s) provided by the mediaserver 300, such as, for example, a history of user responses tosuggestion(s) and/or recommendation(s) from the media server 300 (e.g.,whether the user purchased and/or interacted with the content of thesuggestion(s) and/or recommendation(s), whether the user marked up ordown a particular DMI suggested and/or recommended by the media server300 etc.) and/or other information voluntarily submitted by the user(e.g., age, gender, digital content preferences).

The search objects database 302(b) may comprise a plurality of entitieseach corresponding to a search object related to products and/orservices provided by the media server 300. For example, the searchobject may comprise text, image and/or other data. The search objectsmay be related to digital media items (DMIs), such as the DMIs that maybe associated with the digital media database 302(c), events (e.g.,concerts) and/or products (e.g., concert tickets).

The digital media database (DMDB) 302(c) may comprise suitable logic,circuitry, code, and/or interfaces that may be operable to store and/ormanage a plurality of digital media items (DMIs). In this regard, theDMDB 302(c) may comprise a plurality of entities each corresponding to adigital media item (DMI).

The communication subsystem 303 may be substantially similar to, forexample, the communication subsystem 203 as depicted in and/or describedwith respect to FIG. 2. In this regard, the communication subsystem 303may comprise suitable logic, circuitry, interfaces, and/or code that maybe operable to communicate data from and/or to the media server 300,such as via one or more wired and/or wireless connections.

The user registration subsystem 304 may comprise suitable logic,circuitry, interfaces, and/or code that may be operable to communicate,process and/or manage user registration and/or authentication requestsand/or device registration and/or authentication requests. In thisregard, the user registration subsystem 304 may be operable to manageuser accounts (e.g., create and/or store new user accounts, access,store, update, modify and/or mange existing user accounts), mange userdevices (e.g., add, delete, modify, authorize, de-authorize and/ormanage devices associated with a particular user account). The userregistration subsystem 304 may access, manage and/or process data in theuser registration database, such as, for example, the user registrationdatabase 302(a). For example, upon receiving a request to create a newuser account, the user registration subsystem 304 may create a dataentity in the user registration database 302(a).

The content suggestion management subsystem (CSMS) 305 may comprisesuitable logic, circuitry, interfaces, and/or code that may be operableto receive, process and/or manage a request for suggestion(s) and/orrecommendation(s) based on an image capture. The CSMS 305 may beoperable to present and/or cause to be presented suggestion(s) and/orrecommendation(s) based on an image capture to a user of an electronicdevice. The CSMS 305 may comprise, for example, an image processingmodule, a search objects module and/or a recommendation module asdepicted in and/or described with respect to FIG. 4. The CSMS 305 may beoperable to process an image capture, determine search objects based onthe image capture (processed and/or unprocessed) and/or providesuggestion(s) and/or recommendation(s) based on, for example, the searchobjects.

In operation, the media server 300 may be operable to receive from anelectronic device such as, for example, the electronic device 200, arequest for suggestion(s) and/or recommendation(s) based on an imagecapture. The request may comprise image data (e.g., image capture). Inthis regard, the communication subsystem 303 may receive and/or processthe request and may send the request (processed or unprocessed) to theCSMS 305. The CSMS 305 may analyze the image data. In this regard, theCSMS 305 may perform a variety of image processing techniques (e.g.,image composition deviation, optical character recognition (OCR), facialrecognition, visual search, metadata extraction, etc.) in order todetermine search objects. In this regard, the CSMS 305 may utilize dataand/or information obtained during the analysis to, for example,initiate a search on a search objects database, such as, for example,the search objects database 302(b). The search may include a text and/orimage based search and/or any other method of comparison of data and/orinformation obtained through an image analysis to entities of adatabase.

In an example embodiment of the disclosure, the CSMS 305 may initiate asearch on a user registration database, such as, for example, the userregistration database 302(a) to determine a particular user associatedwith the electronic device 200. The CSMS 305 may determine a personaldigital media library associated with the particular user. The CSMS 305may determine (e.g., from the user registration database 302(a)) and/orreceive (e.g., from the electronic device 200) user data and/orinformation. Based on the personal digital media library and/or the userdata, the CSMS 305 may determine search interests.

The CSMS 305 may determine suggestion(s) and/or recommendation(s) forthe particular user based on the search objects and/or the searchinterests. The CSMS 305 may request from the communication subsystem 303for the communication subsystem 303 to send to the electronic device 110recommendation data, which may comprise suggestion(s) and/orrecommendation(s) in response to the request for suggestion(s) and/orrecommendation(s) based on an image capture.

The components of the media server 300, such as for example, the mainprocessor 301, the memory 302, the communication subsystem 303, the userregistration subsystem 304, and/or the CSMS 305 may be implemented in anintegrated or a distributed system. An integrated system may beimplemented, for example, on one computer, server, machine or device,where the integrated system may be configured to perform some or all ofthe functions, features and/or operations of the main processor 301, thememory 302, the communication subsystem 303, the user registrationsubsystem 304, and/or the CSMS 305 as described herein. A distributedsystem may be implemented with multiple components (e.g., computers,servers, machines and/or devices), where each of the multiple componentsmay be configured to perform some or all of the functions, featuresand/or operations of the main processor 301, the memory 302, thecommunication subsystem 303, the user registration subsystem 304, and/orthe CSMS 305 as described herein. Each function, feature and/oroperation may be implemented on one or more of the components of thedistributed system. For example, a specific feature, function and/oroperation may be implemented on one component of the distributed systemor it may be implemented across multiple components of the distributedsystem.

FIG. 4 is a block diagram of example process of suggesting media contentbased on an image capture by a media server, in accordance with anexample embodiment of the disclosure.

Referring to FIG. 4, there is shown an electronic device 110, a personaldigital media library (PDML) 140, an image capture 405 and a mediaserver 300.

The CSMS 305 may comprise an image processing module 401, search objectsmodule 402 and/or recommendation module 403. The image processing module401 may comprise suitable logic, circuitry, code, and/or interfaces thatmay be operable to analyze and/or process a still and/or a video imageand/or data and/or information related to the still and/or video image.In this regard, the image processing module 401 may determine imageregions by, for example, utilizing one or more of a variety of imageprocessing techniques (e.g., image composition deviation, opticalcharacter recognition (OCR), facial recognition, visual search, metadataextraction, etc.).

The search objects module 402 may comprise suitable logic, circuitry,code, and/or interfaces that may be operable to determine search object.In this regard, the search objects module 402 may be operable todetermine search objects based on data and/or information obtainedthrough an image (and/or image data) analysis as performed by the imageprocessing module 401. For example, the search objects module 402 maydetermine that an image of a particular artist (or a region of an imagethat portrays a particular artist) corresponds to, for example productsand/or services related to the particular artist (e.g., DMIs and/orconcerts by the particular artist).

The recommendation module 303 may comprise suitable logic, circuitry,code, and/or interfaces that may be operable to determine suggestionsand/or recommendations based on an image capture. The recommendationmodule 303 may determine search interest based on, for example, userdata (e.g., user's interests, contents of a personal media libraryassociated with the user, etc.). Base on, for example, the searchobjects as determined by the search objects module 402 and/or the searchinterests, the recommendation module 403 may be operable to determinesuggestions and/or recommendations for the user.

In operation, the media server 300 may receive a request from theelectronic device 110 for suggestion(s) and/or recommendation(s) basedon an image capture, such as, for example, the image capture 405. Inresponse to the request, the image processing module 401 may analyzeand/or process the image capture and/or other data received with therequest. The image processing module 401 may determine one or moreregions of the image capture 405 through one or more of a variety ofimage processing techniques (e.g., image composition deviation, opticalcharacter recognition (OCR), facial recognition, visual search, metadataextraction, etc.). For example, the image processing module 401 maydetermine that the image capture comprises, for example, three (3)regions: Region_1, Region_2 and Region_3. The regions may be, forexample, text regions, graphical regions and/or a combination of both.Referring to FIG. 4, Region_1 may be a text region, and Region_2 andRegion_3 may each be a graphical region. Although the regions may havebeen illustrated as separate regions, the disclosure may not be limitedin this way. For example, the regions may be overlapping.

The image processing module 401 may communicate with the search objectsmodule 402 and may request from the search objects module 402 for thesearch objects module 402 to determine one or more search objects forone or more of the regions. In this regard, the search objects module402 may initiate a search of search objects on the search objectsdatabase 302(b). Based on the search, the search objects module 402 maydetermine zero or more search objects corresponding to one or more ofthe regions. Referring to FIG. 4, the search objects module 402 maydetermine, for example, that Search Object_1(a), Search Object_1(b)and/or Search Object_1(c) each corresponds to Region_1, that SearchObject_2(a), Search Object_2(b) and/or Search Object_2(c) eachcorresponds to Region_2, and/or that Search Object_3(a), SearchObject_3(b) and/or Search Object_3(c) each corresponds to Region_3.Although the search objects corresponding to different regions may havebeen illustrated as separate search objects, the disclosure may not belimited in this way. For example, more than one search object maycorrespond to more than one region and vice versa.

In an example embodiment of the disclosure, the search objects module402 may determine one or more search objects based on information aboutthe image capture 405 (e.g., date, time, location, duration, etc.) inaddition to and/or in conjunction with the data and/or informationrelating to the regions of the image capture 405 as determined by theimage processing module 401.

The search objects module 402 may communicate with the recommendationmodule 403 and may request from the recommendation module 403 for therecommendation module 403 to determine one or more suggestions and/orrecommendations based on the one or more search objects.

In an example embodiment of the disclosure, the recommendation module403 may determine a particular user associated with the electronicdevice 110 by initiating a search on the user registration database302(a). The recommendation module 403 may determine a personal digitalmedia library associated with the particular user, such as, for examplethe PDML 140, and may analyze the contents of the PDML 140 (e.g.,personal digital media items). In another example embodiment of thedisclosure, the recommendation module 403 may request and/or receivefrom the electronic device 110 user data (e.g., demographic data, userinterests, likes, etc.). The recommendation module 403 may alsodetermine user data by initiating and/or analyzing a search on the userregistration database 302(a).

The recommendation module 403 may determine one or more search interestsbased on the analysis of the contents of the PDML 140 and/or the userdata. Referring to FIG. 4, the recommendation module 403 may determine,for example, Search Interest_1, Search Interest_2 and/or SearchInterest_3.

The recommendation module 403 may compare one or more of the searchobjects as determined by the search objects module 402 with one or moresearch interest. The recommendation module 403 may, for example, basedon the comparison, determine which search objects are relatively moreapplicable to the particular user. For example, Search Object_1(a),Search Object_1(b) and Search Object_1(c) may correspond to Artist_A,Artist_B and Artist_C, respectively. Also, for example, SearchInterest_1 may correspond to Artist_C. More specifically, the SearchObject_1(c) may have been determined by the search objects module 402based on a mention of Artist_C in the text of Region_1 and SearchInterest_1 may have been determined by the recommendation module 403based on the analysis of the PDML 140 which revealed that, for example,the PDML 140 comprised relatively many DMIs by Artist_A.

Based on the comparison of the Search Object_1(c) and the SearchInterest_1, the recommendation module 403 may determine that theparticular user may be interested in recommendations relating toArtist_C, such as, for example, DMIs by Artist_C which are, for example,not included within he PDML 140, DMIs by an artist related to Artist_C(e.g., categorized under the same and/or similar genre as Artist_C),upcoming concerts by Artist_C and/or an artist related to Artist_C, etc.

In an example embodiment of the disclosure, the recommendation module403 may initiate a search on the digital media database 402(c) todetermine, for example, the DMIs by Artist_C and/or an artist related toArtist_C.

By performing a similar analysis of one or more search objects asdetermined by the search objects module 402 and/or one or more searchinterest as determined by the recommendation module 403, therecommendation module 403 may determine one or more recommendations forthe particular user. Referring to FIG. 4, the recommendation module 403may, for example, determine Recommendation_1 based on Search Object_1(c)and Search Interest_1, Recommendation_2 based on Search Object_2(b) andSearch Interest_2 and/or Recommendation_3 based on Search Object_3(a)and Search Interest_3.

The media server 300 may send, to the electronic device 110,recommendation data, in response to the request for suggestion(s) and/orrecommendations(s) based on the image capture 405. The recommendationdata may comprise the recommendation(s) as determined by therecommendation module 403.

Although the comparison of the search objects and/or search interestsmay have been exemplified as a one-to-one comparisons (e.g., one searchobject compared with one search interest), the disclosure may not belimited in this way. For example, the comparison may include comparingone or more search objects with one or more search interests in anycombination of search objects and/or search interests. Moreover, thedisclosure may not be limited to any particular comparison of searchobjects and search interests method and/or a recommendation method andmay include any other method that arrives at recommendation(s) based onan image capture, personal digital media library data and/or user data.

FIG. 5 is a flow diagram of example steps of a method for suggestingmedia content based on an image capture, in accordance with an exampleembodiment of the disclosure. Referring to FIG. 5, an example method 500is shown comprising a plurality of example steps for suggesting mediacontent based on an image capture.

In example step 501, a request for suggestion(s) and/orrecommendation(s) based on, for example, a still and/or a video image,may be received from an electronic device, such as, for example, theelectronic device 200. In this regard, a media server, such as, forexample, the media server 300 may receive and/or process the request.The request may comprise image data. The image data, may comprise stilland/or video image(s) and/or metadata information relating to the stilland/or video image(s) (e.g., date, time, location, duration, etc.). Therequest may, for example, be generated by an application running on anelectronic device (e.g., media player application, web-browserapplication) in response to, for example, a pre-defined criterion, suchas for example, a user direct action (e.g., user input indicative of arequest for suggestion(s) and/or recommendation(s)), a user indirectaction (e.g., accessing an image capture application, a media playerapplication, or a media store web browser application, etc.), and/or anyother pre-defined criterion (e.g., laps of a pre-determined amount oftime, detection of a request by an electronic device to access one ormore services provided by the media server 300).

In example step 502, the request may be analyzed. In this regard themedia server 300 may analyze the request, including, for example, theimage data to determine search object(s). The media server 300 mayprocess the image data to determine metadata information associated withthe image (e.g., date, time, location, duration, etc. (of a videoimage)). The media server 300 may analyze the graphical composition ofan image, by for example, determining one or more distinct regions ofthe image. The media server 300 may determine search object(s) based onthe metadata information, the image data, and/or the distinct regions.

In an example embodiment of the disclosure, the media server 300 mayanalyze the metadata information to determine search object(s). Forexample, the media server 300 may determine that the metadatainformation may indicate that the image was captured at a particularlocation, such as, for example, Location_A. The media server 300 maydetermine search object(s) that are, for example, associated withLocation_A and/or with product(s) and/or service(s) provided by themedia server 300. For example, the media server 300 may determine thatone or more DMIs, for example, by Artist_A, are related to Location_A.The media server 300 may also determine, that for example, there are oneor more concerts scheduled to take place in Location_A within apre-determined amount of time of the request received in the examplestep 501. The search object(s) may comprise data and/or informationregarding the DMIs (or the DMIs themselves) and/or data and/orinformation regarding the concerts determined in the example process.

In another example embodiment of the disclosure, the media server 300may determine that the metadata information may indicate that the imagewas captured on a particular date, such as, for example, Dec. 12, 2012.The media server 300 may determine search object(s) that are, forexample, associated with the Dec. 12, 2012 date and/or with product(s)and/or service(s) provided by the media server 300. For example, themedia server 300 may determine that one or more DMIs, for example, byArtist_B are related to the Dec. 12, 2012 date (e.g., December is amonth related to a genre of music by Artist_B or Artist_B was born ordied on December 12). The search object(s) may comprise data and/orinformation regarding the DMIs (or the DMIs themselves) determined inthe example process.

In an example embodiment of the disclosure, the media server 300 maydetermine that the image comprises, for example three (3) distinctregions: Region_1, Region_2, and Region_3. The media server 300 maydetermine search object(s) that are related to one or more of thedistinct regions. The region determination analysis may comprise variousimage processing methods (e.g., image composition deviation, opticalcharacter recognition (OCR), facial recognition, visual search, etc.).For example, to determine approximate or definite boarders of imageregions, the media server 300 may, for example, determine an imagecomposition deviation between different parts of an image. In thisregard, when the image composition of a particular part of an imagedeviates from an image composition of another particular part of theimage by a predetermined value, the media server 300 may, for example,determine that each of the particular parts may belong to separate imageregions.

In another example embodiment of the disclosure, the media server 300may determine the example three (3) regions by, for example, performingan OCR. In this regard, the media server 300 may determine that aparticular part of an image comprises text and may determine that thatparticular part constitutes a region. Depending on the relevant locationof the determined text region within the image (and/or with respect toalready determined and/or undetermined regions), the media server 300may determine that the parts surrounding and/or bordering the determinedtext region comprise one or more separate regions of the image. Forexample, the media server 300 may determine that Region_1 is a textregion and that Region_2 and Region_3 are each a graphical region.

In an example embodiment of the disclosure, the media server 300 mayanalyze each of the three (3) regions to determine search object(s). Forexample, the media server 300 may perform an OCR on Region_1 (e.g., atext region) to determine search object(s) relevant to products and/orservices provided by the media server 300. For example, the media server300 may determine that Region_1 comprise text corresponding to, forexample, Artist_C (e.g., the text contains information related toArtist_C—the name of Artist_C, the name of an album by Artist_C, thename and/or other information relevant to a genre under which Artist_Cis classified, etc.). The media server 300 may determine, for example,one or more DMIs corresponding to Artist_C (e.g., DMIs by Artist_C orsimilar artists). In another example, the media server 300 may perform afurther graphical image analysis on Region_2 and Region_3 to determineadditional search object(s). For example, the media server 300 mayperform an image based search by comparing Region_(—) 2 and/or Region_3to images of products and/or services provided by the media server 300.For example, the media server 300, based on the image comparisonprocess, may determine that, for example, Region_2 comprises a pictureof Artist_D and may determine search object(s) relevant to Artist_D.

In an example embodiment of the disclosure, the media server 300 may useany combination of the metadata information, the image data, and/orinformation and/or data relating to the distinct regions of the imageand/or other criteria to determine search object(s). For example, themedia server 300 may use the metadata information, such as, for example,Location_A and Region_1 information (as determined in the exampleprocess above) to demine that, for example, there is a concert byArtist_C in Location_A within a pre-determined amount of time from thetime of the request in the example step 501.

In example step 503, a particular user associated with the electronicdevice from which the request was received in the example step 501 maybe determined. In this regard, the media server 300 may initiate asearch on a user registration database to determine a particular userassociated with the electronic device. The media server 300 maydetermine user data associated with the particular user. The user datamay include personal information about the particular user (e.g., age,gender, home location and/or other demographic information), electronicdevice information (e.g., name, type of the electronic device from whicha request in the example step 501 was received and/or of any otherelectronic device that may be associated with the particular user)and/or information about a personal media library associated with theparticular user. The user data may also include, for example, datarelated to a history of user interactions with product(s) and/orservice(s) provided by the media server 300, such as, for example, ahistory of user responses to suggestion(s) and/or recommendation(s) fromthe media server 300 (e.g., whether the user purchased and/or interactedwith the content of the suggestion(s) and/or recommendation(s), whetherthe user marked up or down a particular DMI suggested and/or recommendedby the media server 300 etc.).

In example step 504, search interest(s) associated with the particularuser may be determined. In this regard, the media server 300 may, forexample, analyze the user data determined in the example step 503 todetermine search interest(s).

In an example embodiment of the disclosure, the media server 300 mayanalyze the contents of the particular user's personal digital medialibrary to determine digital content (e.g., one or more DMIs) that theuser may be interested in. For example, because the particular user′personal digital media library may comprise relatively many DMIs by aparticular artist, such as, for example, Artist_C, the media server 300may determine that the particular user's interests include DMIs relatedto Artist_C, such as for example, DMIs by Artist_C, DMIs by artistscategorized within the same and/or similar genre as Artist_C, etc. Themedia server 300 may determine one or more search interest(s) based onthe particular user's interests.

In example step 505, suggestion(s) and/or recommendation(s) for theparticular user may be determined. In this regard, the media server 300may determine suggestion(s) and/or recommendation(s) based on, forexample, the search object(s) as determined in the example step 502and/or the search interest(s) as determined in the example step 504. Themedia server 300 may use selection logic to determine, for example,which of the search object(s) may be best suited for recommending to theparticular user based on the search interest(s). For example, the mediaserver 300 may compare particular search interest(s) as determined inthe example step 504, such as, for example, DMIs by Artist_C (based onthe contents of the particular user's library), with particular searchobject(s) as determined in the example step 502, such as, for example,DMIs by Artist_C (based on Region_1).

Furthermore, the media server 300 may determine that because, forexample, the particular user's personal digital media library alreadyincludes many DMIs by Artist_C the suggestion(s) and/orrecommendation(s) for the particular user may not include other DMIs byArtist_C but may instead include, for example, DMIs by artiststhematically related to Artist_C (e.g., artists categorized under thesame or similar genre). Also, the media server 300 may determine that aparticular artist, for example, Artist_E has an upcoming concert inLocation_A (determined as part of the metadata information in theexample step 502) and that Artist_E is thematically related to Artist_C.Based on such example selection logic, the media server 300 maydetermine one or more DMIs by Artist_E and/or Artist_E's concert dataand/or information to be included as part of the suggestion(s) and/orrecommendation(s).

In another example embodiment of the disclosure, the media server 300may determine that the suggestion(s) and/or recommendation(s) for theparticular user may include DMIs by Artist_C, because for example theparticular user's personal digital media library does not include any(or many) DMIs by Artist_C but, for example, includes DMIs by artistthematically related to Artist_C (e.g., artists categorized under thesame or similar genre), if such a determination was made instead of thedetermination made in the example step 504.

In example step 506, recommendation data may be sent to the electronicdevice. The recommendation data may, for example, comprise thesuggestion(s) and/or recommendation(s) as determined in the example step505.

It is to be understood that when content(s) (e.g., DMI(s)) are sent,received, stored and/or processed as described herein, the contents maycomprise the contents themselves (e.g., the actual digital media item(s)and/or files corresponding to the particular digital media content(s)being sent, received, stored and/or processed), pointers to the contents(e.g., identifies, IDs and/or pointers to entity/entities and/or item(s)in, for example a database and/or a storage location corresponding tothe particular digital media content(s) being sent, received, storedand/or processed), text file(s) representative of the contents, list(s)of the contents and/or any other form that may allow a media server,such as for example, the media server 300, and/or an electronic device,such as, for example, the electronic device 200, to identify, determineand/or process the content(s) accordingly.

Other implementations may provide a computer readable medium and/orstorage medium, and/or a machine readable medium and/or storage medium,having stored thereon, a machine code and/or a computer program havingat least one code section executable by a machine and/or a computer,thereby causing the machine and/or computer to perform the steps asdescribed herein for suggesting media content based on an image capture.

Accordingly, the present method and/or system may be realized inhardware, software, or a combination of hardware and software. Thepresent method and/or system may be realized in a centralized fashion inat least one computing system, or in a distributed fashion wheredifferent elements are spread across several interconnected computingsystems. Any kind of computing system or other system adapted forcarrying out the methods described herein is suited. A typicalcombination of hardware and software may be a general-purpose computingsystem with a program or other code that, when being loaded andexecuted, controls the computing system such that it carries out themethods described herein. Another typical implementation may comprise anapplication specific integrated circuit or chip.

The present method and/or system may also be embedded in a computerprogram product, which comprises all the features enabling theimplementation of the methods described herein, and which when loaded ina computer system is able to carry out these methods. Computer programin the present context means any expression, in any language, code ornotation, of a set of instructions intended to cause a system having aninformation processing capability to perform a particular functioneither directly or after either or both of the following: a) conversionto another language, code or notation; b) reproduction in a differentmaterial form.

While the present method and/or system has been described with referenceto certain implementations, it will be understood by those skilled inthe art that various changes may be made and equivalents may besubstituted without departing from the scope of the present methodand/or system. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the presentdisclosure without departing from its scope. Therefore, it is intendedthat the present method and/or system not be limited to the particularimplementations disclosed, but that the present method and/or systemwill include all implementations falling within the scope of theappended claims.

1. A method, comprising: in a server: receiving, from an electronicdevice, a request for recommendations based on an image capture, whereinthe request comprises image data associated with the image capture;analyzing the request to determine one or more search objects;determining a particular user associated with the electronic device;determining one or more search interests, wherein each of the one ormore search interests is associated with the particular user;determining one or more custom recommendations for the particular userbased on the one or more search objects and on the one or more searchinterests; and sending, to the electronic device, recommendation data,wherein the recommendation data comprises the one or more customrecommendations.
 2. The method of claim 1, wherein the one or moresearch objects comprises data indicative of a physical locationassociated with the image.
 3. The method of claim 1, wherein theanalyzing the request comprises performing optical character recognition(OCR).
 4. The method of claim 1, wherein the analyzing the requestcomprises performing an image based search.
 5. The method of claim 1,wherein each of the one or more search objects is associated with aproduct.
 6. The method of claim 5, wherein the product is associatedwith a digital media item.
 7. The method of claim 1, wherein thedetermining of the one or more search interests comprises analyzing adigital media library and wherein the digital media library isassociated with the particular user.
 8. The method of claim 1,comprising: determining or receiving from the electronic devicedemographic data associated with the particular user; wherein thedetermining of the one or more search interests comprises analyzing thedemographic data.
 9. A system comprising: one or more processors, theone or more processors being operable to: receive, from an electronicdevice, a request for recommendations based on an image capture, whereinthe request comprises image data associated with the image capture;analyze the request to determine one or more search objects; determine aparticular user associated with the electronic device; determine one ormore search interests, wherein each of the one or more search interestsis associated with the particular user; determine one or more customrecommendations for the particular user based on the one or more searchobjects and on the one or more search interests; and send, to theelectronic device, recommendation data, wherein the recommendation datacomprises the one or more custom recommendations.
 10. The system ofclaim 9, wherein the one or more search objects comprises dataindicative of a physical location associated with the image.
 11. Thesystem of claim 9, wherein the analyzing the request comprisesperforming optical character recognition (OCR).
 12. The system of claim9, wherein the analyzing the request comprises performing an image basedsearch.
 13. The system of claim 9, wherein each of the one or moresearch objects is associated with a product.
 14. The system of claim 13,wherein the product is associated with a digital media item.
 15. Thesystem of claim 9, wherein the determining of the one or more searchinterests comprises analyzing a digital media library and wherein thedigital media library is associated with the particular user.
 16. Thesystem of claim 9, wherein the one or more processors is operable to:determine or receive from the electronic device demographic dataassociated with the particular user; wherein the determining of the oneor more search interests comprises analyzing the demographic data.